package com.mini.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.mini.config.EncryptField;
import com.mini.model.BusinessChancePhone;
import com.mini.model.BusinessChanceWechat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * Created by shixi  on 2020/12/04
 */
@Data
public class ChanceBaseInfoVO {

    /**
     * 机会id
     */
    @ApiModelProperty(value = "机会id")
    @Excel(name = "机会ID", orderNum = "0"  , width = 18, needMerge = true)
    private Long id;

    /**
     * 学员昵称
     */
    @ApiModelProperty(value = "学员昵称")
    @Excel(name = "学员昵称",orderNum = "1", needMerge = true)
    private String studentNickname;

    /**
     * 省
     */
    @ApiModelProperty(value = "省")
    @Excel(name = "省",orderNum = "6", needMerge = true)
    private String province;

    @ApiModelProperty(value = "省id")
    private String provinceId;
    /**
     * 市
     */
    @ApiModelProperty(value = "市")
    @Excel(name = "市",orderNum = "7", needMerge = true)
    private String city;
    @ApiModelProperty(value = "市id")
    private String cityId;
    /**
     * 机会状态
     */
    @ApiModelProperty(value = "机会状态,-1:未分配 0：未跟进 1:跟进中 2:已报名")
    private Integer chanceStatus;

    @Excel(name = "机会状态",orderNum = "3", needMerge = true)
    private String chanceStatusDesc;
    /**
     *意向
     */
    @ApiModelProperty(value = "意向 未知:-1/无: 0/低:1/中:2/高:3")
    private Integer intentionCode;

    @Excel(name = "意向",orderNum = "9", needMerge = true)
    private String intention;

    public enum ChanceStatus{

        entered(2, "已报名"),
        follow(1,"跟进中"),
        unfollow(0, "未跟进"),
        nodistribute(-1,"未分配"),
        distributing(-2,"分配中"),
        ;
        public final Integer code;
        public final String desc;

        ChanceStatus(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        public static ChanceStatus getChanceStatus(int code) {
            for (ChanceStatus field : ChanceStatus.values()) {
                if (code == field.code) {
                    return field;
                }
            }
            return null;
        }
    }

    public enum SystemFromEnum{

        throwSource(0, "投放"),
        systemSource(2,"系统"),
        ;
        public final Integer code;
        public final String desc;

        SystemFromEnum(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        public static SystemFromEnum getSystemFrom(int code) {
            for (SystemFromEnum field : SystemFromEnum.values()) {
                if (code == field.code) {
                    return field;
                }
            }
            return null;
        }
    }


    public enum IntentionEnum{
        unknow(-1,"未知"),
        nothing(0, "无"),
        low(1,"低"),
        middle(2,"中"),
        heigh(3,"高"),
        ;
        public final Integer code;
        public final String desc;

        IntentionEnum(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        public static IntentionEnum getIntentionDesc(int code) {
            for (IntentionEnum field : IntentionEnum.values()) {
                if (code == field.code) {
                    return field;
                }
            }
            return null;
        }
    }
}
